仅在开启reload_async
特性后有效。异步重启特性,会先创建新的Worker
进程处理新请求,旧的Worker
进程自行退出。原型:
function onWorkerExit(swoole_server $server, int $worker_id);
Worker
进程未退出,onWorkerExit
会持续触发onWorkerExit
仅在Worker
进程内触发,Task
进程不执行onWorkerExit
旧的Worker
进程,在退出时先会执行一次onWorkerStop
事件回调,然后会在事件循环的每个周期结束时调用onWorkerExit
通知Worker
进程退出。
在onWorkerExit
中尽可能地移除/关闭异步的Socket
连接,最终底层检测到Reactor
中事件监听的句柄数量为0
时退出进程。